package com.ctshk.rpc.air.dto;

import com.ctshk.rpc.air.req.AirProductReservationSettingsDataReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;


@Data
@ApiModel(value = "机票详细信息DTO")
public class AirProductInfoDTO implements Serializable {
    private static final long serialVersionUID = -986000933292182006L;

    @ApiModelProperty(value = "机票唯一标识Id")
    private Long id;

    @ApiModelProperty(value = "产品编号")
    private String code;

    @ApiModelProperty(value = "航空公司名称")
    private String companyName;

    @ApiModelProperty(value = "航空公司Id")
    private Long companyId;

    @ApiModelProperty(value = "出发城市id")
    private Long depCityId;

    @ApiModelProperty(value = "出发城市名称")
    private String depCityName;

    @ApiModelProperty(value = "到达城市id")
    private Long arrCityId;

    @ApiModelProperty(value = "到达城市名称")
    private String arrCityName;

    @ApiModelProperty(value = "起飞机场id")
    private Long depAirportId;

    @ApiModelProperty(value = "起飞机场")
    private String depAirportName;

    @ApiModelProperty(value = "到达机场id")
    private Long arrAirportId;

    @ApiModelProperty(value = "到达机场")
    private String arrAirportName;

    @ApiModelProperty(value = "起飞时间")
    private LocalTime depTime;

    @ApiModelProperty(value = "到达时间")
    private LocalTime arrTime;

    @ApiModelProperty(value = "航班号")
    private String flightNumber;


    @ApiModelProperty(value = "航班id")
    private Long routeId;

    @ApiModelProperty(value = "航班名称")
    private String routeName;

//    @ApiModelProperty(value = "船舱等级(1 经济舱，2 高端经济舱，3 商务舱，4 头等舱)")
//    private Integer cabinClass;

    @ApiModelProperty(value = "船舱等级類型id(主数据获取)")
    private Long cabinClass;

    @ApiModelProperty(value = "船舱等级類型名称)")
    private String cabinName;

    @ApiModelProperty(value = "供应商id(信德船票)")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称(信德船票)")
    private String supplierName;

    @ApiModelProperty(value = "负责人id")
    private Long chargeUserId;


    @ApiModelProperty(value = "负责人姓名")
    private String chargeUserName;

    @ApiModelProperty(value = "适用人群id")
    private Long applicableCrowdId;

    @ApiModelProperty(value = "适用人群名称")
    private String applicableCrowdName;

    @ApiModelProperty(value = "打包状态（1：允许打包 2：不允许打包 3：只限打包）")
    private Integer packStatus;

    @ApiModelProperty(value = "审批状态（1 待提交，2 待审批，3 审批中，4 审批不通过，5 审批通过）")
    private Integer approvalStatus;

    @ApiModelProperty(value = "售卖状态（0 无效，1 有效）当审批状态为通过时才会有售卖状态1")
    private Integer sellStatus;

    @ApiModelProperty(value = "来源(1 手动，2 api)")
    private Integer source;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime gmtModified;

    @ApiModelProperty(value = "机票预订信息")
    private AirProductReservationSettingsDataReq airProductReservationSettingsDataReq;

    @ApiModelProperty(value = "机票成本信息")
    private List<AirProductCostDTO> airProductCostDTOList;



    @ApiModelProperty(value="上架策略每日详细信息")
    private List<AirStrategyDayInfoDTO>  airStrategyDayInfoDtoList;
}
